[Design pattern]: 设计模式相关系列
介绍
概念: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
应用场景: 用户主动切换执行规则,比如 画图工具,不同的工具执行的事件效果不同. 压缩工具的格式,不同的格式执行不同的压缩算法.
好处: 扩展容易,不会破坏原有的结构,遵循开闭原则。
与状态模式的区别: 与状态模式的区别在于切换应对策略的主动权在用户,而状态模式的切换是在内部。
CODE
工具基类
1 | package note.com.strategy; |
具体工具类
1 | package note.com.strategy; |
1 | package note.com.strategy; |
1 | package note.com.strategy; |
1 | package note.com.strategy; |
画图工具界面类
1 | package note.com.strategy; |
测试类
1 | package note.com.strategy; |
结果
1 | 启动画图工具...... |
根据选择的工具(策略)不同,执行的操作相应也不同,具有一次改变,次次使用的效果.